package com.efuture.chapterthree

import com.sun.org.apache.xpath.internal.operations.Bool

/* @Description: run内置函数的使用
 * @Auther: zhaoshanshan
 * @Date: 2022/03/06/12:52 下午
 */
//run 内置函数特点
//根据匿名函数最后一行返回变化而变化 此特定跟let函数一样
//匿名函数里面持有的是this 此特点跟apply函数一样
fun main() {
   val str = "zhaoshanshan is ok"
    var r1 = str.run {
        //this = str本身
        5435.5f//返回结果为匿名函数最后一行
    }
    println(r1)
    val result = str
        .run(::isLong)
        .run(::isShowText)
        .run(::mapText)
        .run(::println)
    //println(result)
}
fun isLong(value: String):Boolean{
     return value.length>=5
}
fun isShowText(isLong:Boolean):String{
    return if(isLong){
           "你的字符串合格"
        }
        else {
            "你的字符串不合格"
        }
}
fun mapText(getShow:String):String{
    return "[$getShow]"
}